import Vue from "vue";
import App from "./App.vue";
// 6.2 导入路由模块
import router from "./router/index";

// 样式初始化
import "./styles/reset.css";
import "./styles/iconfont.css";

// 全局注册 Vant 组件 或者 函数
import { Toast } from "vant";
import { Notify } from "vant";
import { Image as VanImage } from "vant";
import { Dialog } from "vant";
import { NavBar } from "vant";
import { Icon } from "vant";
import { Uploader } from "vant";
import { Field } from "vant";
import { ActionSheet } from "vant";
import { Tab, Tabs } from "vant";
import { List } from "vant";
import { PullRefresh } from "vant";
import { Button } from "vant";
import { SwipeCell } from "vant";
import { Empty } from "vant";

Vue.use(Empty);
Vue.use(SwipeCell);
Vue.use(Button);
Vue.use(PullRefresh);
Vue.use(List);
Vue.use(Tab);
Vue.use(Tabs);
Vue.use(ActionSheet);
Vue.use(Field);
Vue.use(Uploader);
Vue.use(Icon);
Vue.use(NavBar);
Vue.use(VanImage);
// console.log(typeof Toast);   // 轻提示是一个函数 function
// 全局注册 Toast 函数，会自动在 Vue 的 prototype 上挂载 $toast 方法，便于在组件内通过 this.$toast 调用。
Vue.use(Toast);
// 全局注册，组件内通过 this.$notify() 调用
Vue.use(Notify);
// 全局注册，组件内通过 this.$dialog() 调用
Vue.use(Dialog);

Vue.config.productionTip = false;

import request from "./utils/request";
// 全局过滤器 - 在任意组件都能调用
Vue.filter("imgUrl", (val) => {
  if (val === "") {
    return require("./assets/logo.png");
  } // 如果没有 http 开始，就需要拼接成完整的图片地址
  else if (val.indexOf("http") === -1) {
    return request.defaults.baseURL + val;
  } else {
    // 是 http 开头，就直接返回即可
    return val;
  }
});
// 三元运算符 + 箭头函数 化简后一行代码即可
// Vue.filter('imgUrl', (val) => val.indexOf('http') === -1 ? request.defaults.baseURL + val : val)

// 通过过滤器实现时间的格式化处理
Vue.filter("formatDate", (val) => {
  // console.log(val)
  if (val) {
    return val.replace("T", " ").replace(".000Z", "");
  }
});

new Vue({
  // 6.3 把路由实例添加到 Vue 中
  router,
  render: (h) => h(App),
}).$mount("#app");
